package hyl.core.info;

import java.io.UnsupportedEncodingException;

import hyl.core.AIni;

/**
 * 
 * <p>
 * className: Base64
 * </p>
 * <p>
 * Description: 封装了base64 防止写法有变化
 * </p>
 * 
 * @author: zdy
 * @date: 2018年10月5日 上午9:07:58
 * @copyright: 2018 da you zou Inc. All rights reserved.
 */
public class MyBase64 {
//通常我们把 需要传输的byte【】，按照base64 编码成String 也就是char[]
	public static String encode(byte[] data) {
		
		return java.util.Base64.getEncoder().encodeToString(data);
	}

//通常我们把 加密后的传输字符串或者是char[]，重新按照base64 解码成byte【】
	public static byte[] decode(String src) {
		return java.util.Base64.getDecoder().decode(src);
	}

	public static String encode(String data, String charset) {
		try {
			return java.util.Base64.getEncoder().encodeToString(data.getBytes(charset));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return null;
		}
	}

	public static String decode(String src, String charset) {
		try {
			return new String(java.util.Base64.getDecoder().decode(src), charset);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return null;
		}
	}

	public static String decodeUTF8(String src) {
		return decode(src,AIni.Charset);
	}

	public static String encodeUTF8(String data) {
		return encode(data,AIni.Charset);
	}

}
